utils=./include/utils.c
LIBS=./lib/
CC=g++
CXXFLAGS=-g -std=c++11

$(LIBS)utils.o: $(utils)
	@# -c选项告诉clang编译的不是可执行程序，否则clang会自动加main函数，
	@# 这可能导致编译错误。
	$(CC) -c -o $@ $^ -I./include


%.o: %.c
	$(CC) -c -o $@ $^ -I./include 

%.exe: %.o $(LIBS)utils.o
	@# "-l:"语法告诉clang链接这个精确的文件名代表的文件。
	$(CC) -o $@ $^ -L$(LIBS)


.PHONY: clean
clean:
	rm *.o

